<?php
class Fumtur extends Zend_Db_Table
{
    protected $_name = 'fumtur';
    protected $_primary = 'id_fumtur';

    public function load($id){
		$db = Zend_Registry::get('db');
		$sql = "SELECT fmt.ds_nome, fmt.ds_resumo, fmt.id_cidade, fmt.id_operador,
		               fmt.id_usuario, fmt.dt_alteracao, cid.id_estado,  est.id_pais,
		               fmt.id_fumtur, fmt.id_evento
 				  FROM fumtur fmt
 				  join cidade cid
 				    on fmt.id_cidade = cid.id_cidade
 				  join estado est
 				    on cid.id_estado = est.id_estado
                 where fmt.id_fumtur = " .$id;
		$result = $db->query($sql)->fetch();
		$this->id_fumtur = 	$result['id_fumtur'];
		$this->id_evento = 	$result['id_evento'];
		$this->ds_nome =   	$result['ds_nome'];
		$this->ds_resumo = 	$result['ds_resumo'];
		$this->id_cidade = 	$result['id_cidade'];
		$this->id_operador = $result['id_operador'];
		$this->id_usuario = $result['id_usuario'];
		$this->dt_alteracao = $result['dt_alteracao'];
		$this->id_estado = $result['id_estado'];
		$this->id_pais = $result['id_pais'];
    }

    public function salvar(){
    	$dados = array('id_fumtur'=>$this->id_fumtur,
				 	   'id_evento'=>$this->id_evento,
					   'ds_nome'=>$this->ds_nome,
					   'ds_resumo'=>$this->ds_resumo,
					   'id_cidade'=>$this->id_cidade,
					   'id_operador'=>$this->id_operador,
        			   'id_usuario' =>$this->id_usuario,
				   	   'dt_alteracao'=>$this->dt_alteracao);

    	if ($this->id_fumtur == null){
			$this->id_fumtur = $this->insert($dados);
    	}
    	else {
    		$where = "id_fumtur = " . $this->id_fumtur;
			$this->update($dados, $where);
    	}
		return $this->id_fumtur;
    }

    public function excluir($id){
    	$where = "id_fumtur=".$id;
    	$this->delete($where);
    }

    public function buscar($idOperador, $nome, $id_evento, $idPais, $idEstado, $idCidade, $order, $asc){
    	$db = Zend_Registry::get('db');
		$sql = "select fmt.ds_nome, evt.nm_evento as ds_evento, pais.ds_pais, est.ds_estado,
					   cid.ds_cidade, fmt.id_fumtur, est.ds_sigla
		          from fumtur fmt
		          join evento evt
		            on fmt.id_evento = evt.id_evento
		   		  join cidade cid
 				    on fmt.id_cidade = cid.id_cidade
 				  join estado est
 				    on cid.id_estado = est.id_estado
 				  join pais
 				    on est.id_pais = pais.id_pais
 				 where 1 = 1 ";
		if ($idOperador != 0){
			$sql .= " and fmt.id_operador = " . $idOperador;
		}

        if ($nome != ''){
			$sql .= " and fmt.ds_nome like '%" . addslashes($nome) . "%'";
		}

    	if ($id_evento != 0){
			$sql .= " and fmt.id_evento = " . $id_evento;
		}

   		if ($idPais != 0){
			$sql .= " and pais.id_pais = " . $idPais;
		}


		if ($idEstado != 0){
			$sql .= " and est.id_estado = " . $idEstado;
		}

		if ($idCidade != 0){
			$sql .= " and cid.id_cidade = " . $idCidade;
		}

		$orderBy = "asc";
		if($asc == 1){
			$orderBy = "desc";
		}

		$sql .= " order by " . $order . " ".$orderBy;
		return $db->query($sql)->fetchAll();
    }

    public function buscarFumturPorPessoaFisica($id_pessoa_fisica, $order, $asc){
    	$db = Zend_Registry::get('db');
		$sql = "select fmt.ds_nome, evt.nm_evento as ds_evento, pais.ds_pais, est.ds_estado,
					   cid.ds_cidade, count(ift.id_integrante_fumtur) num_integrantes , fmt.id_fumtur
		          from fumtur fmt
		          join evento evt
		            on fmt.id_evento = evt.id_evento
		          join cidade cid
 				    on fmt.id_cidade = cid.id_cidade
 				  join estado est
 				    on cid.id_estado = est.id_estado
 				  join pais
 				    on est.id_pais = pais.id_pais
  				  left join integrante_fumtur ift
		            on fmt.id_fumtur = ift.id_fumtur
		         where fmt.id_operador = " . $id_pessoa_fisica;
		$sql.= "   and evt.in_liberado = 1 ";
		$sql.= " group by fmt.ds_nome, evt.nm_evento, pais.ds_pais, est.ds_estado,
					   cid.ds_cidade, fmt.id_fumtur ";
		$orderBy = "asc";
		if($asc == 1){
			$orderBy = "desc";
		}

		$sql .= " order by " . $order . " ".$orderBy;
		return $db->query($sql)->fetchAll();
    }


}
